home *** CD-ROM | disk | FTP | other *** search
- //Language: Microsoft IDL
- //Copyright (c) 1992-2002 Altium Limited
- //All rights reserved.
- //http://www.dream-com.com
- //contact@dream-com.com
-
- // states
- State=snormal
- State=sstring1
- State=sstring2
- State=sstring3
- State=scomment1
- State=scomment2
- State=sdirective
- // tokens
- Token=tnone
- Token=tstring
- Token=tcomment
- Token=tident
- Token=tinteger
- Token=tfloat
- Token=tresword
- Token=tassembler
- Token=turl
- Token=twhitespace
- Token=tdirective
- //delims
- Delimiters=;.,:'"{}[]()?!@#$%^&*-+=|\/
-
- // reswords
- snormal '__int3264' snormal tresword
- snormal '__int64' snormal tresword
- snormal 'aggregatable' snormal tresword
- snormal 'allocate' snormal tresword
- snormal 'appobject' snormal tresword
- snormal 'arrays' snormal tresword
- snormal 'async' snormal tresword
- snormal 'async_uuid' snormal tresword
- snormal 'auto_handle' snormal tresword
- snormal 'bindable' snormal tresword
- snormal 'boolean' snormal tresword
- snormal 'broadcast' snormal tresword
- snormal 'byte' snormal tresword
- snormal 'byte_count' snormal tresword
- snormal 'call_as' snormal tresword
- snormal 'callback' snormal tresword
- snormal 'char' snormal tresword
- snormal 'coclass' snormal tresword
- snormal 'code' snormal tresword
- snormal 'comm_status' snormal tresword
- snormal 'const' snormal tresword
- snormal 'context_handle' snormal tresword
- snormal 'context_handle_noserialize' snormal tresword
- snormal 'context_handle_serialize' snormal tresword
- snormal 'control' snormal tresword
- snormal 'cpp_quote' snormal tresword
- snormal 'custom' snormal tresword
- snormal 'decode' snormal tresword
- snormal 'default' snormal tresword
- snormal 'defaultbind' snormal tresword
- snormal 'defaultcollelem' snormal tresword
- snormal 'defaultvalue' snormal tresword
- snormal 'defaultvtable' snormal tresword
- snormal 'dispinterface' snormal tresword
- snormal 'displaybind' snormal tresword
- snormal 'dllname' snormal tresword
- snormal 'double' snormal tresword
- snormal 'dual' snormal tresword
- snormal 'enable_allocate' snormal tresword
- snormal 'encode' snormal tresword
- snormal 'endpoint' snormal tresword
- snormal 'entry' snormal tresword
- snormal 'enum' snormal tresword
- snormal 'error_status_t' snormal tresword
- snormal 'explicit_handle' snormal tresword
- snormal 'fault_status' snormal tresword
- snormal 'first_is' snormal tresword
- snormal 'float' snormal tresword
- snormal 'handle' snormal tresword
- snormal 'handle_t' snormal tresword
- snormal 'heap' snormal tresword
- snormal 'helpcontext' snormal tresword
- snormal 'helpfile' snormal tresword
- snormal 'helpstring' snormal tresword
- snormal 'helpstringcontext' snormal tresword
- snormal 'helpstringdll' snormal tresword
- snormal 'hidden' snormal tresword
- snormal 'hyper' snormal tresword
- snormal 'id' snormal tresword
- snormal 'idempotent' snormal tresword
- snormal 'ignore' snormal tresword
- snormal 'iid_is' snormal tresword
- snormal 'immediatebind' snormal tresword
- snormal 'implicit_handle' snormal tresword
- snormal 'import' snormal tresword
- snormal 'importlib' snormal tresword
- snormal 'in' snormal tresword
- snormal 'in_line' snormal tresword
- snormal 'include' snormal tresword
- snormal 'int' snormal tresword
- snormal 'interface' snormal tresword
- snormal 'last_is' snormal tresword
- snormal 'lcid' snormal tresword
- snormal 'length_is' snormal tresword
- snormal 'library' snormal tresword
- snormal 'licensed' snormal tresword
- snormal 'local' snormal tresword
- snormal 'long' snormal tresword
- snormal 'max_is' snormal tresword
- snormal 'maybe' snormal tresword
- snormal 'message' snormal tresword
- snormal 'midl_pragma' snormal tresword
- snormal 'midl_user_allocate' snormal tresword
- snormal 'midl_user_free' snormal tresword
- snormal 'min_is' snormal tresword
- snormal 'module' snormal tresword
- snormal 'ms_union' snormal tresword
- snormal 'ncacn_at_dsp' snormal tresword
- snormal 'ncacn_dnet_nsp' snormal tresword
- snormal 'ncacn_http' snormal tresword
- snormal 'ncacn_ip_tcp' snormal tresword
- snormal 'ncacn_nb_ipx' snormal tresword
- snormal 'ncacn_nb_nb' snormal tresword
- snormal 'ncacn_nb_tcp' snormal tresword
- snormal 'ncacn_np' snormal tresword
- snormal 'ncacn_spx' snormal tresword
- snormal 'ncacn_vns_spp' snormal tresword
- snormal 'ncadg_ip_udp' snormal tresword
- snormal 'ncadg_ipx' snormal tresword
- snormal 'ncadg_mq' snormal tresword
- snormal 'ncalrpc' snormal tresword
- snormal 'nocode' snormal tresword
- snormal 'nonbrowsable' snormal tresword
- snormal 'noncreatable' snormal tresword
- snormal 'nonextensible' snormal tresword
- snormal 'notify' snormal tresword
- snormal 'object' snormal tresword
- snormal 'odl' snormal tresword
- snormal 'oleautomation' snormal tresword
- snormal 'optimize' snormal tresword
- snormal 'optional' snormal tresword
- snormal 'out' snormal tresword
- snormal 'out_of_line' snormal tresword
- snormal 'pipe' snormal tresword
- snormal 'pointer_default' snormal tresword
- snormal 'propget' snormal tresword
- snormal 'propput' snormal tresword
- snormal 'propputref' snormal tresword
- snormal 'ptr' snormal tresword
- snormal 'public' snormal tresword
- snormal 'range' snormal tresword
- snormal 'readonly' snormal tresword
- snormal 'ref' snormal tresword
- snormal 'represent_as' snormal tresword
- snormal 'requestedit' snormal tresword
- snormal 'restricted' snormal tresword
- snormal 'retval' snormal tresword
- snormal 'shape' snormal tresword
- snormal 'short' snormal tresword
- snormal 'signed' snormal tresword
- snormal 'size_is' snormal tresword
- snormal 'small' snormal tresword
- snormal 'source' snormal tresword
- snormal 'strict_context_handle' snormal tresword
- snormal 'string' snormal tresword
- snormal 'struct' snormal tresword
- snormal 'switch' snormal tresword
- snormal 'switch_is' snormal tresword
- snormal 'switch_type' snormal tresword
- snormal 'transmit_as' snormal tresword
- snormal 'typedef' snormal tresword
- snormal 'uidefault' snormal tresword
- snormal 'union' snormal tresword
- snormal 'unique' snormal tresword
- snormal 'unsigned' snormal tresword
- snormal 'user_marshal' snormal tresword
- snormal 'usesgetlasterror' snormal tresword
- //snormal 'uuid' snormal tresword
- snormal 'v1_enum' snormal tresword
- snormal 'vararg' snormal tresword
- snormal 'version' snormal tresword
- snormal 'void' snormal tresword
- snormal 'warning' snormal tresword
- snormal 'wchar_t' snormal tresword
- snormal 'wire_marshal' snormal tresword
-
- // numbers
- snormal [1-9][0-9]* snormal tinteger
- snormal \0x[0-9A_F]+ snormal tinteger
- snormal \0X[0-9A_F]+ snormal tinteger
- snormal [1-9][0-9]*\.[0-9]* snormal tfloat
- snormal [1-9][0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ snormal tfloat
-
- //idents
- snormal [a-z_A-Z][a-z_A-Z0-9]* snormal tident
-
- //white space
- snormal #32* snormal twhitespace
-
- //comments
- snormal // scomment1 tcomment
- scomment1 [#1-#255]* snormal tcomment
- scomment1 $ snormal tcomment
-
- snormal /\* scomment2 tcomment
- scomment2 [^\*]* scomment2 tcomment
- scomment2 \*[^/] scomment2 tcomment
- scomment3 [\*]*/ snormal tcomment
-
- //strings
- snormal \" sstring1 tstring
- sstring1 [^\"]* sstring1 tstring
- sstring1 \" snormal tstring
- sstring1 $ snormal tstring
-
- snormal {uuid\(} sstring2 tresword
- sstring2 [^\)]* sstring2 tresword
- sstring2 \) snormal tresword
- sstring2 $ snormal tresword
-
- snormal {uuid#32\(} sstring3 tresword
- sstring3 [^\)]* sstring3 tresword
- sstring3 \) snormal tresword
- sstring3 $ snormal tresword
-
- //directives
- snormal \# sdirective tdirective
- sdirective [#1-#255]* snormal tdirective
- sdirective $ snormal tdirective
-